QuickChick: Property-Based Testing for Coq
نویسندگان
چکیده
Co-designing software or hardware systems and their formal proofs is an appealing idea, with the expectation that the rigor enforced by formal methods will percolate the whole design. In practice however, carrying out formal proofs while designing even a relatively simple system can be an exercise in frustration, with a great deal of time spent attempting to prove things about broken definitions, and countless iterations for discovering the correct lemmas and strengthening inductive invariants. We believe that property-based testing (PBT) can dramatically decrease the number of failed proof attempts and reduce the overall cost of producing formally verified systems. Despite the existence of experimental tools [Wil11], Coq is still lagging behind proof assistants like Isabelle, which provides several mature PBT tools (e.g. [Bul12]). We aim to improve the PBT support in Coq, while also investigating several innovations we could add into the mix like polarized mutation testing and a language-based approach to custom generation. We are also exploring whether PBT could bring more confidence to the implementation of Coq itself.
منابع مشابه
Foundational Property-Based Testing
Integrating property-based testing with a proof assistant creates an interesting opportunity: reusable or tricky testing code can be formally verified using the proof assistant itself. In this work we introduce a novel methodology for formally verified property-based testing and implement it as a foundational verification framework for QuickChick, a port of QuickCheck to Coq. Our framework enab...
متن کاملA Coq Framework For Verified Property-Based Testing
We introduce a novel methodology for formally verified property-based testing and implement it as a framework on top of the QuickChick testing plugin for Coq.1 Our verification framework is aimed at proving the correctness of executable testing code with respect to a high-level specification, which captures the conjecture under test in a more direct way. To this end, we provide a systematic way...
متن کاملA Compared Study of Two Correctness Proofs for the Standardized Algorithm of Abr Conformance ?
The ABR conformance protocol is a real-time program that controls dataaow rates on ATM networks. A crucial part of this protocol is the dynamical computation of the expected rate of data cells. We present here a modelling of the corresponding program with its environment , using the notion of (parametric) timed automata. A fundamental property of the service provided by the protocol to the user...
متن کاملand J . − F . Monin A Compared Study of Two Correctness Proofs for the Standardized Algorithm of ABR Conformance
The ABR conformance protocol is a real-time program that controls dataaow rates on ATM networks. A crucial part of this protocol is the dynamical computation of the expected rate of data cells. We present here a modelling of the corresponding program with its environment , using the notion of (parametric) timed automata. A fundamental property of the service provided by the protocol to the user...
متن کاملFormalising LPOs and Invariants in Coq
In the setting of CRL the notions of linear process operator LPO and invariant are implemented in Coq which is a a proof development tool based on type theory As a rst experiment we have computer checked a general property of a binary search program in the new framework
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014